home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / VirtualBindings.z / VirtualBindings
Text File  |  1998-10-30  |  26KB  |  397 lines

  1.  
  2.  
  3.  
  4.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss - Bindings for virtual mouse and key events
  10.  
  11.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.           The Motif reference pages describe key translations in terms
  13.           of _v_i_r_t_u_a_l _b_i_n_d_i_n_g_s, based on those described in the _M_o_t_i_f
  14.           _S_t_y_l_e _G_u_i_d_e.
  15.  
  16.         BBBBiiiinnnnddddiiiinnnnggggssss ffffoooorrrr oooossssffff KKKKeeeeyyyyssssyyyymmmmssss
  17.           Keysym strings that begin with <<<<oooossssffff>>>> are not part of the X
  18.           server's keyboard mapping.  Instead, these keysyms are
  19.           produced on the client side at run time.  They are
  20.           interpreted by the routine XXXXmmmmTTTTrrrraaaannnnssssllllaaaatttteeeeKKKKeeeeyyyy, and are used by
  21.           the translation manager when the server delivers an actual
  22.           key event.  For each application, a mapping is maintained
  23.           between <<<<oooossssffff>>>> keysyms and keysyms that correspond to actual
  24.           keys.  This mapping is based on information obtained at
  25.           application startup from one of the following sources,
  26.           listed in order of precedence:
  27.  
  28.              +o  The XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttVVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss resource from Display.
  29.  
  30.              +o  A property on the root window, which can be set by mmmmwwwwmmmm
  31.                 on startup, or by the xxxxmmmmbbbbiiiinnnndddd client, or on prior
  32.                 startup of a Motif application.
  33.  
  34.              +o  The file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd in the user's home directory.
  35.  
  36.              +o  A set of bindings based on the vendor string and
  37.                 optionally the vendor release of the X server.  Motif
  38.                 searches for these bindings in the following steps:
  39.  
  40.                    0. If the file xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss exists in the user's
  41.                       home directory, Motif searches this file for a
  42.                       pathname associated with the vendor string or
  43.                       with the vendor string and vendor release.  If
  44.                       it finds such a pathname and if that file
  45.                       exists, Motif loads the bindings contained in
  46.                       that file.
  47.  
  48.                    1. If it has found no bindings, Motif next looks
  49.                       for the file xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss in the directory
  50.                       specified by the environment variable XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR,
  51.                       if XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR is set, or in the directory
  52.                       ////uuuussssrrrr////lllliiiibbbb////XXXXmmmm////bbbbiiiinnnnddddiiiinnnnggggssss if XXXXMMMMBBBBIIIINNNNDDDDDDDDIIIIRRRR is not set.
  53.                       If this file exists Motif searches it for a
  54.                       pathname associated with the vendor string or
  55.                       with the vendor string and vendor release.  If
  56.                       it finds such a pathname and if that file
  57.                       exists, Motif loads the bindings contained in
  58.                       that file.
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  71.  
  72.  
  73.  
  74.                    2. If it still has found no bindings, Motif loads a
  75.                       set of hard-coded fallback bindings.
  76.  
  77.           The xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file contains zero or more lines of the
  78.           following form:
  79.  
  80.           "_v_e_n_d_o_r__s_t_r_i_n_g[ _v_e_n_d_o_r__r_e_l_e_a_s_e]"    _b_i_n_d_i_n_g_s__f_i_l_e
  81.  
  82.           where _v_e_n_d_o_r__s_t_r_i_n_g is the X server vendor name as returned
  83.           by the X client xxxxddddppppyyyyiiiinnnnffffoooo or the Xlib function XXXXSSSSeeeerrrrvvvveeeerrrrVVVVeeeennnnddddoooorrrr,
  84.           and must appear in double quotes.  If _v_e_n_d_o_r__r_e_l_e_a_s_e is
  85.           included, it is the X server vendor release number as
  86.           returned by the X client xxxxddddppppyyyyiiiinnnnffffoooo or the Xlib function
  87.           XXXXVVVVeeeennnnddddoooorrrrRRRReeeelllleeeeaaaasssseeee, and must also be contained within the double
  88.           quotes separated by one space from _v_e_n_d_o_r__s_t_r_i_n_g.  The
  89.           _v_e_n_d_o_r__r_e_l_e_a_s_e argument is provided to allow support of
  90.           changes in keyboard hardware from a vendor, assuming that
  91.           the vendor increments the release number to flag such
  92.           changes.  Alternatively, the vendor may simply use a unique
  93.           vendor string for each different keyboard.
  94.  
  95.           The _b_i_n_d_i_n_g_s__f_i_l_e argument is the pathname of the file
  96.           containing the bindings themselves.  It can be a relative or
  97.           absolute pathname.  If it it is a relative pathname, it is
  98.           relative to the location of the xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file.
  99.  
  100.           Comment lines in the xxxxmmmmbbbbiiiinnnndddd....aaaalllliiiiaaaassss file begin with !
  101.           (exclamation point).
  102.  
  103.           The bindings found in either the ....mmmmoooottttiiiiffffbbbbiiiinnnndddd file or the
  104.           vendor mapping are placed in a property on the root window.
  105.           This property is used to determine the bindings for
  106.           subsequent Motif applications.
  107.  
  108.           On startup mmmmwwwwmmmm attempts to load the file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd in the
  109.           user's home directory.  If this is unsuccessful, it loads
  110.           the vendor bindings as described previously.  It places the
  111.           bindings it loads in a property on the root window for use
  112.           by subsequent Motif applications.
  113.  
  114.           The xxxxmmmmbbbbiiiinnnndddd function loads bindings from a file if that file
  115.           is specified on the command line.  If no file is specified
  116.           on the command line, it attempts to load the file ....mmmmoooottttiiiiffffbbbbiiiinnnndddd
  117.           in the user's home directory.  If this fails, it loads the
  118.           vendor bindings as described previously.  It places the
  119.           bindings it loads in a property on the root window for use
  120.           by subsequent Motif applications.
  121.  
  122.           The format of the specification for mapping <<<<oooossssffff>>>> keysyms to
  123.           actual keysyms is similar to that of a specification for an
  124.           event translation. (See below) The syntax is specified (and
  125.           below) here in EBNF notation using the following
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  137.  
  138.  
  139.  
  140.           conventions:
  141.  
  142.           [_a]    Means either nothing or _a{_a}    Means zero or more occurrences of _a(_a|_b)    Means either _a or _b.
  143.  
  144.           Terminals are enclosed in double quotation marks.
  145.  
  146.           The syntax of an <<<<oooossssffff>>>> keysym binding specification is as
  147.           follows:
  148.  
  149.           binding_spec    =       {line "\n"} [line]
  150.           line            =       virtual_keysym ":" list_of_key_event
  151.           list_of_key_event=      key_event { "," key_event}
  152.           key_event       =       {modifier_name} "<Key>" actual_keysym
  153.           virtual_keysym  =       keysym
  154.           actual_keysym   =       keysym
  155.           keysym          =       A valid X11 keysym name that is
  156.                                   mapped by XXXXSSSSttttrrrriiiinnnnggggTTTTooooKKKKeeeeyyyyssssyyyymmmm
  157.  
  158.           As with event translations, more specific event descriptions
  159.           must precede less specific descriptions.  For example, an
  160.           event description for a key with a modifier must precede a
  161.           description for the same key without the same modifier.
  162.  
  163.           Following is an example of a specification for the
  164.           ddddeeeeffffaaaauuuullllttttVVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss resource in a resource file:
  165.  
  166.           *defaultVirtualBindings: \
  167.                   osfBackSpace:       <Key>BackSpace       \n\
  168.                   osfInsert:       <Key>InsertChar      \n\
  169.                   osfDelete:       <Key>DeleteChar      \n\
  170.           ...
  171.                   osfLeft:       <Key>left, Ctrl<Key>H
  172.  
  173.           The format of a ....mmmmoooottttiiiiffffbbbbiiiinnnndddd file or of a file containing
  174.           vendor bindings is the same, except that the binding
  175.           specification for each keysym is placed on a separate line.
  176.           The previous example specification appears as follows in a
  177.           ....mmmmoooottttiiiiffffbbbbiiiinnnndddd or vendor bindings file:
  178.  
  179.           osfBackSpace:       <Key>BackSpace
  180.           osfInsert:       <Key>InsertChar
  181.           osfDelete:       <Key>DeleteChar
  182.           ...
  183.           osfLeft:       <Key>left, Ctrl<Key>H
  184.  
  185.           The following table lists the fixed fallback default
  186.           bindings for <<<<oooossssffff>>>> keysyms.
  187.              FFFFaaaallllllllbbbbaaaacccckkkk DDDDeeeeffffaaaauuuulllltttt BBBBiiiinnnnddddiiiinnnnggggssss ffffoooorrrr oooossssffff KKKKeeeeyyyyssssyyyymmmmssss
  188.          <<<<oooossssffff KKKKeeeeyyyyssssyyyymmmm>>>>            FFFFaaaallllllllbbbbaaaacccckkkk DDDDeeeeffffaaaauuuulllltttt BBBBiiiinnnnddddiiiinnnngggg
  189.          <<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>::::          <<<<KKKKeeeeyyyy>>>>KP_Enter
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  203.  
  204.  
  205.  
  206.          <<<<KKKKeeeeyyyy>>>>EEEExxxxeeeeccccuuuutttteeee
  207.          <<<<oooossssffffAAAAddddddddMMMMooooddddeeee>>>>::::           SSSShhhhiiiifffftttt<<<<KKKKeeeeyyyy>>>>FFFF8888
  208.          <<<<oooossssffffBBBBaaaacccckkkkSSSSppppaaaacccceeee>>>>::::         <<<<KKKKeeeeyyyy>>>>BBBBaaaacccckkkkSSSSppppaaaacccceeee
  209.          <<<<oooossssffffBBBBeeeeggggiiiinnnnLLLLiiiinnnneeee>>>>::::         <<<<KKKKeeeeyyyy>>>>Home
  210.          <<<<KKKKeeeeyyyy>>>>BBBBeeeeggggiiiinnnn
  211.          <<<<oooossssffffCCCCaaaannnncccceeeellll>>>>::::            <<<<KKKKeeeeyyyy>>>>Escape
  212.          <<<<KKKKeeeeyyyy>>>>CCCCaaaannnncccceeeellll
  213.          <<<<oooossssffffCCCClllleeeeaaaarrrr>>>>::::             <<<<KKKKeeeeyyyy>>>>CCCClllleeeeaaaarrrr
  214.          <<<<oooossssffffCCCCooooppppyyyy>>>>::::              _u_n_b_o_u_n_d
  215.          <<<<oooossssffffCCCCuuuutttt>>>>::::               _u_n_b_o_u_n_d
  216.          <<<<oooossssffffDDDDeeeelllleeeetttteeee>>>>::::            <<<<KKKKeeeeyyyy>>>>DDDDeeeelllleeeetttteeee
  217.          <<<<oooossssffffDDDDeeeesssseeeelllleeeeccccttttAAAAllllllll>>>>::::       _u_n_b_o_u_n_d
  218.          <<<<oooossssffffDDDDoooowwwwnnnn>>>>::::              <<<<KKKKeeeeyyyy>>>>DDDDoooowwwwnnnn
  219.          <<<<oooossssffffEEEEnnnnddddLLLLiiiinnnneeee>>>>::::           <<<<KKKKeeeeyyyy>>>>EEEEnnnndddd
  220.          <<<<oooossssffffHHHHeeeellllpppp>>>>::::              <<<<KKKKeeeeyyyy>>>>F1
  221.          <<<<KKKKeeeeyyyy>>>>HHHHeeeellllpppp
  222.          <<<<oooossssffffIIIInnnnsssseeeerrrrtttt>>>>::::            <<<<KKKKeeeeyyyy>>>>IIIInnnnsssseeeerrrrtttt
  223.          <<<<oooossssffffLLLLeeeefffftttt>>>>::::              <<<<KKKKeeeeyyyy>>>>LLLLeeeefffftttt
  224.          <<<<oooossssffffLLLLeeeeffffttttLLLLiiiinnnneeee>>>>::::          _u_n_b_o_u_n_d
  225.          <<<<oooossssffffMMMMeeeennnnuuuu>>>>::::              SSSShhhhiiiifffftttt<<<<KKKKeeeeyyyy>>>>F10
  226.          <<<<KKKKeeeeyyyy>>>>MMMMeeeennnnuuuu
  227.          <<<<oooossssffffMMMMeeeennnnuuuuBBBBaaaarrrr>>>>::::           <<<<KKKKeeeeyyyy>>>>F10
  228.          Shift<<<<KKKKeeeeyyyy>>>>MMMMeeeennnnuuuu
  229.          <<<<oooossssffffNNNNeeeexxxxttttMMMMiiiinnnnoooorrrr>>>>::::         _u_n_b_o_u_n_d
  230.          <<<<oooossssffffPPPPaaaaggggeeeeDDDDoooowwwwnnnn>>>>::::          <<<<KKKKeeeeyyyy>>>>NNNNeeeexxxxtttt
  231.          <<<<oooossssffffPPPPaaaaggggeeeeLLLLeeeefffftttt>>>>::::          _u_n_b_o_u_n_d
  232.          <<<<oooossssffffPPPPaaaaggggeeeeRRRRiiiigggghhhhtttt>>>>::::         _u_n_b_o_u_n_d
  233.          <<<<oooossssffffPPPPaaaaggggeeeeUUUUpppp>>>>::::            <<<<KKKKeeeeyyyy>>>>PPPPrrrriiiioooorrrr
  234.          <<<<oooossssffffPPPPaaaasssstttteeee>>>>::::             _u_n_b_o_u_n_d
  235.          <<<<oooossssffffPPPPrrrriiiimmmmaaaarrrryyyyPPPPaaaasssstttteeee>>>>::::      _u_n_b_o_u_n_d
  236.          <<<<oooossssffffPPPPrrrriiiioooorrrrMMMMiiiinnnnoooorrrr>>>>::::        _u_n_b_o_u_n_d
  237.          <<<<oooossssffffRRRReeeesssseeeelllleeeecccctttt>>>>::::          _u_n_b_o_u_n_d
  238.          <<<<oooossssffffRRRReeeessssttttoooorrrreeee>>>>::::           _u_n_b_o_u_n_d
  239.          <<<<oooossssffffRRRRiiiigggghhhhtttt>>>>::::             <<<<KKKKeeeeyyyy>>>>RRRRiiiigggghhhhtttt
  240.          <<<<oooossssffffRRRRiiiigggghhhhttttLLLLiiiinnnneeee>>>>::::         _u_n_b_o_u_n_d
  241.          <<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>::::            <<<<KKKKeeeeyyyy>>>>SSSSeeeelllleeeecccctttt
  242.          <<<<oooossssffffSSSSeeeelllleeeeccccttttAAAAllllllll>>>>::::         _u_n_b_o_u_n_d
  243.          <<<<oooossssffffSSSSwwwwiiiittttcccchhhhDDDDiiiirrrreeeeccccttttiiiioooonnnn>>>>::::   AAAAlllltttt<<<<KKKKeeeeyyyy>>>>Return
  244.          Alt<<<<KKKKeeeeyyyy>>>>KKKKPPPP____EEEEnnnntttteeeerrrr
  245.          <<<<oooossssffffUUUUnnnnddddoooo>>>>::::              <<<<KKKKeeeeyyyy>>>>UUUUnnnnddddoooo
  246.          <<<<oooossssffffUUUUpppp>>>>::::                <<<<KKKKeeeeyyyy>>>>UUUUpppp
  247.  
  248.         CCCChhhhaaaannnnggggeeeessss iiiinnnn tttthhhheeee HHHHaaaannnnddddlllliiiinnnngggg ooooffff SSSShhhhiiiifffftttteeeedddd KKKKeeeeyyyyssss
  249.           In conjunction with MIT X11R5 Patch 24, this version of
  250.           Motif introduces a change in the way that keys involving the
  251.           <Shift> modifier are processed. This change allows the
  252.           numeric keypad to be used to generate numbers using the
  253.           standard X mechanisms. Since the default behavior is now to
  254.           honor the xmodmap keymap bindings, translations and virtual
  255.           key bindings that use <Shift> may behave differently. A
  256.           common symptom is that unshifted keypad and function keys
  257.           (with or without other modifiers) produce the expected
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  269.  
  270.  
  271.  
  272.           results, but shifted ones do not.
  273.  
  274.           To obtain the old behavior you can remove the shifted
  275.           interpretation from problematic keys using the xxxxmmmmooooddddmmmmaaaapppp
  276.           utility. Each entry in a xxxxmmmmooooddddmmmmaaaapppp keymap table contains up to
  277.           four keysym bindings. The second and fourth keysyms are for
  278.           shifted keys. If an expression contains only two keysyms,
  279.           simply remove the second keysym. If an entry contains three
  280.           or more keysyms, replace the second keysym with NNNNooooSSSSyyyymmmmbbbboooollll and
  281.           remove the fourth keysym.
  282.  
  283.         AAAAccccttttiiiioooonnnn TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  284.           The translation table syntax used by Motif is completely
  285.           specified in the X11R5 Toolkit Intrinsics Documentation. For
  286.           the complete syntax description, and for general
  287.           instructions about writing or modifying a translation table,
  288.           please refer to this document. A brief summary of the
  289.           translation table format, however, is included below.
  290.  
  291.           The syntax is defined as in the binding syntax specification
  292.           above.  Informal descriptions are contained in angle
  293.           brackets (<>).
  294.  
  295.           TranslationTable=       [ directive ] { production }
  296.           directive       =       ( "#replace" | "#override" | "#augment") "\n"
  297.           production      =       lhs ":" rhs "\n"
  298.           lhs             =       ( event | keyseq) {"," ( event | keyseq) }
  299.           keyseq          =       """ keychar { keychar } """
  300.           keychar         =       ( "^" | "$" | "\\") <ISO Latin 1 character>
  301.           event           =       [ modifier_list ] "<" event_type ">" [ count ] {detail}
  302.           modifier_list   =       ( ["!"][":"] { modifier } | "None")
  303.           modifier        =       [ "~" ] ( "@" <keysym> | <name from table below>)
  304.           count           =       "(" <positive integer> [ "+" ] ")"
  305.           rhs             =       { action_name "(" [params] ")" }
  306.           params          =       string { "," string }
  307.           The _s_t_r_i_n_g field need not be quoted unless it includes a
  308.           space or tab character, or any comma, newline, or
  309.           parenthesis. The entire list of string values making up the
  310.           _p_a_r_a_m_s field will ba passed to the named action routine.
  311.  
  312.           The _d_e_t_a_i_l_s field may be used to specify a keysym that will
  313.           identify a particular key event. For example, <<<<KKKKeeeeyyyy>>>> is the
  314.           name of a type of event, but it must be modified by the
  315.           _d_e_t_a_i_l_s field to name a specific event, such as <<<<KKKKeeeeyyyy>>>>AAAA.
  316.  
  317.           MMMMooooddddiiiiffffiiiieeeerrrr NNNNaaaammmmeeeessssThe modifier list, which may be empty,
  318.           consists of a list of modifier keys that must be pressed
  319.           with the key sequence. The modifier keys may abbreviated
  320.           with single letters, as in the following list of the
  321.           familiar modifiers:
  322.  
  323.           s         Shift
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllUUUUllllNNNN))))IIIIXXXX SSSSyyyysssstttteeeemmmmVVVViiiiVVVVrrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  335.  
  336.  
  337.  
  338.           c or ^    Ctrl (Control)
  339.  
  340.           m or $    Meta
  341.  
  342.           a         Alt
  343.  
  344.           Other modifiers are available, such as "Mod5" and "Button2."
  345.           These have no abbreviation (although the "Button" modifiers
  346.           may be abbreviated in combination with events, as outlined
  347.           below). If a modifier list has no entries, and is not
  348.           "None", it means the position of the modifier keys is
  349.           irrelevant. If modifiers are listed, the designated keys
  350.           must be in the specified position, but the unlisted modifier
  351.           keys are irrelevant. If the list begins with an exclamation
  352.           point (!), however, the unlisted modifiers may not be
  353.           asserted. In addition, if a modifier name is preceded by a
  354.           tilde (~), the corresponding key must _n_o_t be pressed.
  355.  
  356.           If a modifier list begins with a colon (:), X tries to use
  357.           the standard modifiers (Shift and Lock), if present, to map
  358.           the key event code into a recognized keysym.
  359.  
  360.           Event Types These are a few of the recognized event types.
  361.  
  362.           Key or KeyDown
  363.                     A keyboard key was pressed.
  364.  
  365.           KeyUp     A keyboard key was released.
  366.  
  367.           BtnDown   A mouse button was pressed.
  368.  
  369.           BtnUp     A mouse button was released.
  370.  
  371.           Motion    The mouse pointer moved.
  372.  
  373.           Enter     The pointer entered the widget's window.
  374.  
  375.           Leave     The pointer left the widget's window.
  376.  
  377.           FocusIn   The widget has received focus.
  378.  
  379.           FocusOut  The widget has lost focus.
  380.  
  381.           There are some event abbreviations available. For example,
  382.           <<<<BBBBttttnnnn1111MMMMoooottttiiiioooonnnn>>>> is actually a "Motion" event, modified with the
  383.           "Button1" modifier (BBBBuuuuttttttttoooonnnn1111<<<<MMMMoooottttiiiioooonnnn>>>>). Similarly, <<<<BBBBttttnnnn3333UUUUpppp>>>>is
  384.           actually a "BtnUp" event with the "Button3" modifier. These
  385.           abbreviations are used extensively in the Motif translation
  386.           tables.
  387.  
  388.      RRRREEEELLLLAAAATTTTEEEEDDDD
  389.           xxxxmmmmbbbbiiiinnnndddd(1)
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.